Frequently Asked Questions

Installation Problems

Run Time Problems

Miscellaneous

GNOME

Package Replacement History


Installation Problems

Q1.1: How do I install a package on IRIX?

Open source comes in .tardist extension files. tardist files are tar archives of inst (SGI auto-install) files. They normally install automatically when you click on them in your browser. If you didn't have auto-installation configured in your browser this may fail, in which case you may follow the following manual procedure:
    % tar xvf xxxx.tardist	# untar that tardist file
    % su			# become superuser
    # inst -f .			# install from current dir
    inst> go
    inst> quit

Automating this process:

The utility tardist does all the above automatically. To configure your browser to support auto-install (i.e. calling tardist or SoftwareManager automatically when you click on a .tardist file on the web) you should have two entries added to your mailcap file (either your personal ~/.mailcap or, depending on your browser version, the system one in /var/netscape/.../mailcap, /usr/local/.../mailcap, or equivalent).
    application/x-install; \
	/usr/sbin/SoftwareManager -a -F %s ; \
	description="SGI automatic software installation"
    application/x-tardist; \
	/usr/sbin/SoftwareManager -a -f %s ; \
	description="SGI software distribution archive"
All this should work out of the box on recent IRIX releases. It is just on older IRIX systems (6.2) that you may need to go through the manual procedure.

Q1.2: I can't view the man pages...

All packages come with the full original documentation if it exists. However they are configured to install their man pages under /usr/freeware/... which is a non-standard location to search for man pages. To make this work, you must tell the man program to search there.

You may do it either by setting MANPATH using something like:

    % setenv MANPATH /usr/freeware/catman:/usr/freeware/man:\
    /usr/catman/local:/usr/local/man:/usr/share/catman:\
    /usr/share/man:/usr/catman:/usr/man
(note the added /usr/freeware/catman location).

Or simply follow the instructions on the SGI Freeware web page which recommend running the utility fixpath. fixpath is included with every package as fw_common.sw.fixpath. You should run fixpath only once to update your personal startup files. Once you run fixpath you should re-login for it to take effect (or directly execute your fixed startup files (e.g: source ~/.cshrc)) from your shell.

Q1.3: Some packages are too big to download...

HTTP implementations seem to time out and fail on slow links and big files. The symptom is getting a timeout or some error message like "premature EOF" from Software Manager during the unpacking of the tardist file.

Good solutions are to use FTP instead of HTTP, or to use a local mirror of the freeware archives.

You may access SGI/freeware via FTP using any of the following methods:

Q1.4: I get this error after installation: (/bin/sh: ... mkindex.sh: not found ...)

Some very old freeware packages produce this error message during installation:
/bin/sh: \//usr/freeware/relnotes/shared/mkindex.sh:  not found
ERROR: Command "( \\$rbase/usr/freeware/relnotes/shared/mkindex.sh )"
failed (return status 127, subsystem XXXXX.man.relnotes 1022574820)
You may safely ignore this message. This is an old package (from Freeware release 6.2). Some of these old packages were not re-packaged for the current Freeware release. Instead, they were simply recycled "as-is". The error is benign and is a result of a typo in the exitop. The software itself should run fine.

Q1.5: I'm getting "missing prereqs" when installing on IRIX 6.2

That's because the current freeware distribution is built for IRIX 6.5. See Q3.2 below for more information.

Q1.6: Can I install freeware in a different directory?

This question is often being asked by people who don't have superuser permissions and/or whose sysadmin disabled tardist on their system so they cannot install into /usr/freeware via the web, or something similar. Unfortunately, the answer to this is no. Many packages are preconfigured to look for files in certain directories so moving them will simply break them. While some packages may not be sensitive to locations we simply don't have the resources to support such feature by creating alternate distributions.

Note that if you are short on disk space you can move the /usr/freeware directory to a different location; just make sure to leave a symlink behind so that the original path names still work. Moving individual subdirectories of /usr/freeware may or may not work.

Q1.7: Where can I find eoe.sw64.lib?

The clever answer is that if the Software Manager had to ask, then you probably don't need it after all.

First a little background: IRIX supports three different calling conventions: -o32 (which is basically obsolete), -n32 (the default, which is usable everywhere), and -64 (only usable on systems with an IRIX64 kernel, where "uname" returns "IRIX64"). The freeware "sw64" subsystems contain 64-bit versions of the same programs and libraries that are in the regular "sw" subsystems. They install by default on systems capable of running 64-bit programs, but rarely do anything differently. Very few programs actually require 64-bit addresses or bother to use the 64-bit library routines when available. Mainly the subsys are present for people who want to cross-compile 64-bit programs on 32-bit systems.

So if you get a conflict message installing freeware that says you also need to install eoe.sw64.lib a very plausible resolution is to not install ("keep") whatever subsystem had this prerequisite. If you really want to load that subsystem you'll need both your base IRIX 6.5 CDs plus the IRIX 6.5.x overlay disks for the release you are running. The same logic applies for x_eoe.sw64.eoe and ifl_eoe_sw64.eoe.


Run Time problems

Q2.1: prog: rld: Fatal Error: (library version mismatch)...:

If you get an error message like this when running a package the runtime linker is having problems finding the right versions of libraries:
    gnuplot: rld: Fatal Error: object libpng.so from liblist in gnuplot
    has version "sgi1.0", which does not match the found object:
    /usr/lib32/libpng.so (with version "sgi2.0")

There are two possible solutions.

Substitute gnuplot with your failing program name if it is different.

Q2.2: prog: rld: Fatal Error: (cannot successfully map soname)...

Since May 2001 (when we dropped support for pre-IRIX 6.5 systems) freeware packages have been built with the MipsPRO 7.3 compilers. If you are running on IRIX 6.5.9 or earlier you must install the following patches or their successors: Failure to do so can result in various strange errors, such as rld complaining that it cannot find libCio.so.1 at runtime. Patches can be downloaded from http://www.sgi.com/support/patch_intro.html Or you can upgrade to a newer IRIX 6.5.x release; upgrades in the 'm' stream are free.

If you get an error message like this when running a package the runtime linker is having problems finding libraries:

    prog: rld: Fatal Error: cannot successfully map soname
    'libXpm.so.1' under any of the filenames
    /usr/lib32/libXpm.so.1:/lib32/libXpm.so.1:/usr/libn32/libXpm.so.1:\
    /libn32/libXpm.so.1:/usr/lib32/libXpm.so.1.1:/lib32/libXpm.so.1.1:\
    /usr/libn32/libXpm.so.1.1:/libn32/libXpm.so.1.1:

This should not happen if you have all the prerequisite libraries installed, but if you suppressed some conflicts during installation or manually removed some libraries (without using inst) later you may run into problems like this. Or it could be that we forgot to declare some prerequisite library. Do "showfiles" and search the output for the missing library; then look to see if it exists on your system. If not, reinstall the package that contained it.

Q2.3: gcc can't find 'as'.

Please click on the name of the package in the download table (leftmost cell) to get to the brief release notes and follow them. In this specific case, it includes instructions on how to get the SGI assembler and linker which are not a part of gcc. (If you have installed fw_gcc the release notes will also be in /usr/freeware/relnotes/gcc.html).

Q2.4: Where is the xemacs binary?

You need to manually select and install either the "MULE-free" (fw_xemacs.latin1.eoe) or "MULE-fied" (fw_xemacs.mule.eoe) subsystem, depending on how much foreign language support you want. When installing xemacs click on the "Customize" button in the software manager, and click on the little folder icon next to XEmacs product. Select the subsystem you want and hit "Start".

This is fixed in the current release.

Q2.5: perl: rld: Fatal Error: attempted access to unresolvable symbol in...

This message will appear whenever you try to use DB_File or GDBM_File in perl5.6.1 (package version 1277898120). This is due to a build error. For DB_File this can be worked around by including the appropriate ABI version of /usr/freeware/lib{,32,64} in LD_LIBRARY{,N32,64}_PATH environment variable. There is no useful or general workaround for the GDBM_File bug except to revert to the previous version of fw_perl (perl5.005_03). This will be fixed in a future release.

For those interested in the details, Perl's "smart" configurator (which attempts to "DWIM": Do What I Mean) overrode the packager's "I know what I'm doing" configuration instructions, and got it wrong.


Miscellaneous

Q3.1: Could you please add package X?

Thanks for the request. All the open source packaging is done by volunteers so we cannot promise anything. Your request is noted and it is possible that someone would volunteer to contribute it. You may want to build it yourself and send us a pointer to your package so others may benefit as well. If you don't have the SGI development tools you may use the GNU compiler which is available in our recent distributions. If you do, please check-out the Notes on building open source packages on IRIX document.

Two particularly frequent requests are ssh and PGP. Note that according to U.S. law, we are not allowed to export crypto so we simply add pointers to such software which was built and distributed by other kind people. Try following the "More Freeware" link from the top SGI/Freeware page.

We sometimes get requests for stuff that comes standard on IRIX like gzip or rcs. Please check your IRIX CD's, maybe what you want is already there... Specifically, RCS should be found in eoe.sw.rcs.

Q3.2: How about packages for older IRIX versions?

Due to limited resources, new open source packages are built on IRIX 6.5 (which has been out since 1998...) so they should install and run on IRIX 6.5 and up but not on older versions. You may find newer versions of these packages on the net, in places like http://ftp.mayn.de/.

Freeware distributions through May 2001 were built on IRIX 6.2. Packages built prior to August 2001 should install and run on IRIX 6.2 and up. The May 2001 distribution is still online. An even older open source release (called Freeware 1.0) was built on IRIX 5.3 and is also available online.

Note that these older versions are not being actively maintained, enriched, or updated. If you run older IRIX versions on relatively new hardware (Indy, Indigo2, Challenge, Origin), we highly recommend upgrading IRIX to a latest version. IRIX 6.5 is a very stable, fast, well supported, multi-platform, and feature rich version of IRIX.

Q3.3: How can I order a set of freeware CDs?

Unfortunately, these CDs are goodwill freebies. They are not in our price book and we do not sell them so you cannot order them. But there are a few ways around this:

Q3.4: What is package X? How do I run/configure it?

We try (but cannot commit) to provide a short description of the packages on our web site. Click on the name of the package to get to the brief description. Some basic questions can be avoided by clicking on the name of the package on the leftmost cell in the download table (note that this is different than the Download button or the rightmost cell).

Our volunteers normally build and package the software and give it some testing but we do not provide documentation beyond what comes standard in the package. You may want to contact the original authors and ask for better docs. See also Q1.2.

Q3.5: Where is the source?

The source for nearly all packages is included in a non-default src subsys. To get the original source plus any changes we made locally start to install the package as usual, but press the "Customize" button in the Software Manager. Click on the little folder icon next to the main package to expand it, and then select the source subsystem for installation and press "Go". The source tarball and a diff file will be placed under /usr/freeware/src.

You can also obtain source from the original authors, just as we did. The package release notes often give a URL for the package home page.

Q3.6: Is freeware Y2K compliant?

In general: SGI can not guarantee the Y2K compliance of these packages since they are not written nor maintained by SGI. Also, we have no resources to do Y2K testing as we do for IRIX. If this issue is critical to you we recommend you devote the resources to scan the included source and report bugs to the original maintainers (not SGI). See also Q5.1.

Q3.7: I want to contribute to SGI/freeware...

Thanks very much for the offer. This is highly appreciated. We have a few reasons why we don't just take precompiled packages from external contributors:

What you can do is port software to IRIX and send any patches to the official maintainers (and to us). If you distribute your own packages please do not install them under /usr/freeware, or give them names beginning with "fw_". If you do it's likely to cause trouble if/when we eventually add it to our distribution.

To help other SGI users without endorsement we do, however, refer to external packages using links from our web site. If you could place your contributed package out on the net and send us a pointer, we'll gladly add a link to your contributed freeware from our web site's "More Freeware" section.

Q3.8: How can I compile with a freeware library?

Basically you need to tell the compiler where to find the header files, and you need to tell the linker where to find the libraries. (If the libraries are built properly rld will know where to find the shared libraries at runtime from the internal rpath settings.) See the individual library package release notes for any additional details.

Include the following flag on your compile lines to tell the compiler where to find the library's header files:

Including the following flag on your link lines will cause the linker to correctly find the library's archive or shared object files at link time. The -L flag must appear on the link line before any -l flags.

Note that order is important! If you search /usr/freeware/include before /usr/include, you should also search /usr/freeware/lib32 before /usr/lib32. Putting the freeware paths before the standard system paths and using all possible freeware libraries will reduce trouble.

Additionally, it is a good idea to include the following flag on your link lines:

This flag will let the binary to locate the shared object library files when the application is run. This is useful since the shared objects are stored in /usr/freeware subdirectories which are not searched by the run-time linker by default.

Finally, if you are building an installable package for inst (contributing to freeware, for example) be sure to prereq this package. Get the lower bound for the prereq range from the installed package, and use 1289999900 for the upper bound. (If this doesn't make sense then it's probably not something you need to know; don't worry about it!)


GNOME

Q4.1: What freeware images do I need to install to run GNOME?

There are a lot! The current archive contents are a "top-of-tree" snapshot of GNOME taken roughly at the end of September, around the time that GNOME 1.4.1 was being released.

An easy way to download what you need is with the inst-get script. It's not fancy, but it will try to fetch all the freeware prereqs for a given package. It uses wget to download files, so you must install that first.

Alternatively, we've included an inst selections file that installs all the prerequisites you need after you manually download them. Just install fw_common.sw.selections, and follow the instructions in the files: /usr/freeware/selections/.

If you want everything related to GNOME you'll need the packages listed alphabetically below. This data was extracted from the graphical and text descriptions of the freeware prereqs.
fw_Eterm
fw_GConf
fw_HDF
fw_ImageMagick
fw_ORBit
fw_PAM
fw_audiofile
fw_balsa
fw_bonobo
fw_bug-buddy
fw_bzip2
fw_control-center
fw_cvs
fw_db
fw_db3
fw_dia
fw_ee
fw_enlightenment
fw_esound
fw_findutils
fw_fnlib
fw_fortune-mod
fw_freetype
fw_freetype2
fw_gal
fw_gcc
fw_gb
fw_gdb
fw_gdbm
fw_gdk-pixbuf
fw_gedit
fw_gettext
fw_gftp
fw_ggv
fw_ghex
fw_ghostscript
fw_glade
fw_glib
fw_gmp
fw_gnome-applets
fw_gnome-audio
fw_gnome-core
fw_gnome-games
fw_gnome-libs
fw_gnome-media
fw_gnome-mime-data
fw_gnome-pilot
fw_gnome-pim
fw_gnome-print
fw_gnome-python
fw_gnome-user-docs
fw_gnome-utils
fw_gnome-vfs
fw_gnumeric
fw_gtk+
fw_gtk-engines
fw_gtop
fw_guile
fw_imlib
fw_indent
fw_ispell
fw_lcms
fw_libesmtp
fw_libghttp
fw_libglade
fw_libgtop
fw_libiconv
fw_libjpeg
fw_libole2
fw_libpng
fw_libproplist
fw_librep
fw_libtool
fw_libungif
fw_libunicode
fw_libwmf
fw_libxml
fw_libxml2
fw_libxpm
fw_libz
fw_lynx
fw_mc
fw_mysql
fw_nas
fw_netpbm
fw_oaf
fw_openssh
fw_openssl
fw_pcre
fw_perl
fw_pilot-link
fw_popt
fw_pspell
fw_pspell-ispell
fw_python
fw_python2
fw_readline
fw_rep-gtk
fw_sawfish
fw_scrollkeeper
fw_socks5
fw_sox
fw_tar
fw_tcl80
fw_tcp_wrappers
fw_texinfo
fw_tiff
fw_tk80
fw_urt
fw_xchat
fw_xscreensaver

If you choose to install some of the non-default variants you may need other images too, like fw_socks5. Also note that the fw_ImageMagick.sw.plugins subsystem has many additional requirements not included above.

Images that aren't strictly part of GNOME, but which have GNOME support or are otherwise related, include:

Q4.2: How can I start GNOME automatically at login?

This is covered in the GNOME Users Guide, which should be installed in /usr/freeware/share/gnome/help/gnome-users-guide/C/index.html on your system. Basically put
    exec gnome-session 1>.xsession.log 2>&1
in your .xsession file. The default IRIX script is in /var/X11/xdm/Xsession if you want to duplicate parts of your IRIX setup.

Q4.3: Why do I get BadMatch errors, crashes, blue-on-blue text, etc.?

Many Linux systems use a single X visual and colormap for all windows by default; IRIX doesn't. As a result there are a variety of bugs lurking in the source code where programmers have, for example, allocated colors in the wrong colormap or assumed that all windows have the same depth. Try making your default X server visual 24-bit TrueColor by adding "-depth 24 -class TrueColor" to /usr/lib/X11/xdm/Xservers. (Run xdpyinfo first to make sure your server supports this visual, and be sure to restart the X server after making a change. Logging out may not be enough!)

Q4.4: How can I make enlightenment run faster?

There are many options in the configuration page. The Pixmap theme in particular is very sluggish on older machines; avoid it.

Q4.5: Why are sounds garbled or noisy?

These problems are thought to be solved, but if you run into them you may have better luck by forcing esd to start in 8-bit mode.

Q4.6: Why don't gtop and other system monitoring tools work?

The libgtop library is very system-specific, and has not been ported to IRIX. As a result nearly all of its functionality is stubbed out.

Known Package Replacement Histories

Q5.1: What packages are known Y2K fixed?
As has been previously stated, we do not officially test for Y2K compliancy; we only fix the problems as they are reported. Again, this goes back to our core mantra "If we don't know it's broken, we can't fix it" so please email a report of any problems you encounter to us!

The following packages are Y2K fixed packages, and their release date:

Q5.2: What packages have been replaced or obsoleted?
Here's our known list of replacements or obsoletions, and the release where they took effect :

Q5.3: What packages have been renamed?
Here's a partial list of recent name changes, along with the release where they took effect :

Additions and contributions to this list gratefully accepted.
freeware@sgi.com